iT邦幫忙

2022 iThome 鐵人賽

DAY 11
1
Software Development

從 Node.js 開發者到量化交易者:打造屬於自己的投資系統系列 第 11

Day 11 - 全球經濟火車頭:美股四大指數

  • 分享至 

  • xImage
  •  

股市是經濟的櫥窗,而美國向來扮演全球經濟火車頭的角色。FTSE Global All Cap Index 是一個追蹤全世界股票市場的指數,根據 2022 年 7 月底的持股資料顯示,美國股市佔比高達 60.40%,第二名的日本股市為 6.10%,臺灣股市目前為第十名,佔比為 1.80%。許多美股上市企業都是世界級的公司,海外市場是這些企業重要的收入來源,因此美國股市的表現也反映出全球景氣的榮衰。

美股四大指數

臺灣投資人最關注的美國股市指數主要有四個,也是我們經常在財經新聞報導可以看到的四大指數:

  • 道瓊工業平均指數(Dow Jones Industrial Average Index):簡稱 道瓊指數,是歷史最悠久、最常被關注的指數,但事實上道瓊指數僅包含 30 檔大型股,且指數編製方式是採價格加權,而非市值加權,因此道瓊指數並不足以代表整個美國股市。
  • 標準普爾 500 指數(S&P 500 Index):簡稱 標普 500 指數S&P 500 指數,編制方式是採市值加權,包含 500 家美國主要的大型公司,產業分布也更多元,因此比起道瓊指數,S&P 500 指數更能代表美國股市整體的表現。
  • 那斯達克綜合指數(NASDAQ Composite Index):簡稱 那斯達克指數NASDAQ 指數,是由 NASDAQ 交易所上市的所有股票所組成的加權指數,由於那斯達克指數科技股佔了較高的比重,一般被理解是反映美國科技股的表現。
  • 費城半導體指數(PHLX Semiconductor Sector Index):簡稱 費半指數,顧名思義是以半導體產業為主,也是衡量全球半導體產業週期的重要指標。由於臺灣是全球半導體重鎮,台積電 ADR 也是費半指數重要的成份股,因此臺股與費半指數有很大的連動性。

另有一個與那斯達克綜合指數非常類似的指數是「那斯達克 100 指數(NASDAQ 100 Index)」,它是由那斯達克綜合指數排除金融股後,取前 100 家市值最大的公司所組成。由於那斯達克 100 指數的成分股已涵蓋那斯達克綜合指數九成的市值,所以指數走勢幾乎一致,且那斯達克 100 指數有對應的期貨商品,即「小那斯達克期貨」也稱為「小那」,而期貨具有價格發現的功能,因此筆者個人更習慣參考那斯達克 100 指數。

由於電子產業在臺灣股市佔了比較高的權重,因此在美股四大指數中,通常以那斯達克指數和費半指數與臺股的連動性最大。如果那斯達克指數和費半指數大漲,隔天臺股開盤就有比較大的機會上漲;如果那斯達克指數和費半指數大跌,隔天臺股開盤下跌的機率就比較高。

什麼是 ADR?

在臺股有所謂的 臺灣存託憑證(Taiwan Depositary Receipts),簡稱 TDR,是指該公司已經在國外上市,然後以存託憑證的方式在臺灣證券交易所掛牌上市,供臺灣投資人買賣,所以又稱「第二上市」公司。而 ADR 就是 美國存託憑證 (American Depositary Receipts),已經在臺灣上市的企業,以存託憑證的方式在美國證券交易所掛牌上市。持有 ADR 的權利基本上與一般股票相同,不過 ADR 與原股票有一定的換算比例,其換算方式是:

ADR 股價 / 轉換比例 * 匯率 = 臺股股價

當 ADR 股價換算後高於臺股股價就是 溢價;當 ADR 股價換算後低於臺股股價就是 折價。如果 ADR 與原股價差太大就存在套利空間,所以股價漲跌會有連動性。以下是目前臺灣上市公司在美國市場發行 ADR 的股票:

股票 臺股代碼 美股代碼 ADR 轉換比例
台積電 2330 TSM 1:5
聯電 2303 UMC 1:5
友達 2409 AUO 1:10
中華電 2412 CHT 1:10
日月光投控 3711 ASX 1:2
南茂 8150 IMOS 1:20

我們會比較關心前一晚台積電 ADR 在美股的表現,因為台積電佔集中市場市值近三成,很容易影響隔天大盤的走勢。當台積電在臺股收盤後發布財報、舉行法說會或有其他重大訊息公告,通常當晚台積電 ADR 的股價都會領先反應,然後就可以推測隔天台積電與臺股開盤的狀況。以 2020 年 7 月 24 日與 7 月 27 日的狀況為例,當時因台積電主要的競爭對手英特爾(Intel)宣布 7 奈米製程晶片將延後至少 6 個月,並可能將委由第三方製造做為應急計畫,此消息一出,台積電 ADR 分別在這兩天強漲了 9.69% 與 12.65%。在 7 月 27 日的臺股,台積電當天就收盤在漲停板,而 7 月 28 日 盤中也曾觸及漲停,而在台積電的帶動下,加權指數最高也突破 12,682 點,打破高懸 30 年的臺股歷史新高紀錄。

看美股做臺股?

許多臺灣投資人都會關注前一晚美國股市的表現,因為臺股和美股有大的連動關係,我們以今年的數據來驗證這個看法是否正確。2022 年初至 8 月 31 日,臺灣股市共有 161 個交易日,其中加權指數上漲天數有 77 天,下跌天數為 84 天,前一晚美股收盤漲跌與當日臺股 收盤 結果關係如下:

指數 美股漲臺股漲 美股跌臺股跌 美股臺股漲跌同方向 漲跌同方向機率
道瓊工業平均指數 52 63 115 71.43%
標準普爾 500 指數 51 65 116 72.05%
那斯達克綜合指數 52 65 117 72.67%
費城半導體指數 54 62 116 72.05%

如果我們將臺股 收盤 的結果改成 開盤 的狀況,則 161 個交易日中,臺灣加權指數開盤上漲天數有 78 天,開盤下跌天數為 83 天,前一晚美股收盤漲跌與當日臺股 開盤 狀況關係如下:

指數 美股漲臺股漲(開盤) 美股跌臺股跌(開盤) 美股臺股(開盤)漲跌同方向 漲跌(開盤)同方向機率
道瓊工業平均指數 55 65 120 74.53%
標準普爾 500 指數 53 66 119 73.91%
那斯達克綜合指數 56 68 124 77.02%
費城半導體指數 58 65 123 76.40%

我們可以看出前一晚美股收盤與臺股開盤漲跌同方向的機率確實有些許提升。假如我們進一步排除美股漲跌幅 1% 以下的中小型波動,則前一晚美股收盤表現與臺股的連動關係如下:

指數 漲跌幅 1% 以上 美股臺股漲跌同方向 美股臺股(開盤)漲跌同方向 漲跌同方向機率 漲跌(開盤)同方向機率
道瓊工業平均指數 60 47 52 78.33% 86.67%
標準普爾 500 指數 77 62 67 80.52% 87.01%
那斯達克綜合指數 107 86 92 80.37% 85.98%
費城半導體指數 111 88 95 79.28% 85.59%

那斯達克綜合指數費城半導體指數 漲跌幅 1% 以上的天數比 道瓊指數S&P 500 指數 還要多,反映出科技與電子股股價波動較大的特性,而當美股四大指數前一晚有 1% 以上的漲跌幅時,臺股開高或開低同方向機率皆達 85% 以上!

以上數據顯示,美股確實與臺股有高度連動性,尤其當前一晚美股收盤大漲或大跌時,特別容易影響臺股隔天開盤的結果;而當美股漲跌幅波動不大時,臺股就比較有機會走自己的路。

查詢美股四大指數

許多網站都有提供美股行情的資訊,我們以 Yahoo!股市 為例,進入臺灣版的 Yahoo!股市,在「大盤行情」下選擇「美股」,就可以查詢最新交易日的美股四大指數表現,以下是 2022 年 9 月 9 日查詢的結果:

https://ithelp.ithome.com.tw/upload/images/20220911/20150150JjUrH7G7jA.png

實作:取得美股四大指數

首先打開終端機安裝 yahoo-finance2 套件,我們將透過存取 Yahoo Finance API 取得美股四大指數報價:

$ npm install --save yahoo-finance2

套件安裝完後,我們新增一個 YahooFinanceService 表示從 Yahoo Finance 取得資料的服務。使用 Nest CLI 建立 YahooFinanceService

$ nest g service scraper/yahoo-finance --flat --no-spec

Nest CLI 會在 src/scraper 目錄下建立 yahoo-finance.service.ts 檔案,並且將 YahooFinanceService 加入至 ScraperModuleproviders 設定。

開啟 src/scraper/yahoo-finance.service.ts 檔案,在 YahooFinanceService 實作 fetchUsStockMarketIndices() 方法,取得美股四大指數報價:

import { default as yahooFinance } from 'yahoo-finance2';
import { DateTime } from 'luxon';
import { Injectable } from '@nestjs/common';

@Injectable()
export class YahooFinanceService {

  async fetchUsStockMarketIndices(date: string) {
    const dt = DateTime.fromISO(date).endOf('day');
    const symbols = ['^DJI', '^GSPC', '^IXIC', '^SOX'];

    try {
      // 取得 yahoo finance 歷史報價
      const results = await Promise.all(symbols.map(symbol => (
        yahooFinance.historical(symbol, {
          period1: dt.toISODate(),
          period2: dt.plus({ day: 1 }).toISODate(),
        })
        .then(result => result.find(data => DateTime.fromJSDate(data.date).toISODate() === date))
      )));

      const [
        dow30,  // 道瓊工業平均指數
        sp500,  // S&P500 指數
        nasdaq, // 那斯達克指數
        sox,    // 費城半導體指數
      ] = results;

      return { date, dow30, sp500, nasdaq, sox };
    } catch (err) {
      return null;  // 若非交易日或尚無資料則拋出錯誤回傳 null
    }
  }
}

fetchUsStockMarketIndices() 方法中,需要指定 date 參數,表示要取得美股四大指數報價的日期。我們定義回傳的物件欄位包含如下:

  • date:日期
  • dow30:道瓊工業平均指數,包含當日開盤價、最高價、最低價、收盤價等資訊。
  • sp500:S&P 500 指數,包含當日開盤價、最高價、最低價、收盤價等資訊。
  • nasdaq:那斯達克綜合指數,包含當日開盤價、最高價、最低價、收盤價等資訊。
  • sox:費城半導體指數,包含當日開盤價、最高價、最低價、收盤價等資訊。

完成後,我們只要使用 YahooFinanceServicefetchUsStockMarketIndices() 方法,就可以按日期取得美股四大指數報價。以日期 2022-07-01 為例:

{
  date: '2022-07-01',
  dow30: {
    date: 2022-07-01T00:00:00.000Z,
    open: 30737.769531,
    high: 31139.349609,
    low: 30487.789063,
    close: 31097.259766,
    adjClose: 31097.259766,
    volume: 310440000
  },
  sp500: {
    date: 2022-07-01T00:00:00.000Z,
    open: 3781,
    high: 3829.820068,
    low: 3752.100098,
    close: 3825.330078,
    adjClose: 3825.330078,
    volume: 3268240000
  },
  nasdaq: {
    date: 2022-07-01T00:00:00.000Z,
    open: 11006.830078,
    high: 11132.549805,
    low: 10922.709961,
    close: 11127.849609,
    adjClose: 11127.849609,
    volume: 4844560000
  },
  sox: {
    date: 2022-07-01T00:00:00.000Z,
    open: 2512.100098,
    high: 2524.030029,
    low: 2429.899902,
    close: 2458.459961,
    adjClose: 2458.459961,
    volume: 0
  }
}

本日小結

  • 臺灣投資人關注的美股四大指數為道瓊工業平均指數、標準普爾 500 指數、納斯達克綜合指數、費城半導體指數。
  • 道瓊工業平均指數歷史最悠久,但涵蓋成分股太少,代表性不足。
  • 標準普爾 500 指數普遍用來代表美國股市整體的表現。
  • 那斯達克綜合指數普遍被視為代表美國科技股。
  • 費城半導體指數與臺灣半導體產業息息相關。
  • 美股與臺股有高度連動性,美股的收盤結果會影響臺股隔天的開盤狀況。
  • 瞭解如何在「Yahoo!股市」網站查詢上美股四大指數。
  • 瞭解如何透過 Yahoo Finance API 存取歷史股價,並實作並取得美股四大指數的方法。

Node.js 量化投資全攻略:從資料收集到自動化交易系統建構實戰
本系列文已正式出版為《Node.js 量化投資全攻略:從資料收集到自動化交易系統建構實戰》。本書新增了全新內容和實用範例,為你提供更深入的學習體驗!歡迎參考選購,開始你的量化投資之旅!
天瓏網路書店連結:https://www.tenlong.com.tw/products/9786263336070


上一篇
Day 10 - 臺股同時指標:美元兌新臺幣匯率
下一篇
Day 12 - 景氣循環指標:美國公債殖利率
系列文
從 Node.js 開發者到量化交易者:打造屬於自己的投資系統31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言